/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package negocio;

import DAO.ConsorcioJpaController;
import dominio.Consorcio;
import dominio.ResultadoGraficoAbstrato;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Oberdan
 */
public class ConsorcioNegocio{

    protected ConsorcioJpaController dao = new ConsorcioJpaController();

    
    public String excluirConsorcioDAO(String c)  {
        try {
              dao.destroy(c);
              return "Consórcio excluído com sucesso";
        } catch (Exception ex) {
            ex.getStackTrace();
            return "Erro na exclusão";
        }
    }

    public String incluirConsorcioDAO (Consorcio consorcio)
    {
        try
        {
            dao.create(consorcio);
            return "Consórcio incluído com sucesso";
        }catch (Exception e)
        {
            e.getStackTrace();
            return "Erro na inclusão";
        }
    }

    public String alterarConsorcioDAO (Consorcio consorcio)
    {
        try
        {
            dao.edit(consorcio);
            return "Alterado com sucesso";
        }catch(Exception e)
        {
            e.getStackTrace();
            return "Erro na alteração";
        }
    }

    public List<Consorcio> listar ()
    {
        List<Consorcio> lista = new ArrayList<Consorcio>();
        try
        {
            lista = dao.findConsorcioEntities();
        }catch (Exception e)
        {
            e.getStackTrace();
        }
        return lista;
    }

    public List<Consorcio> listarPorParametro (String objetoDePesquisa, String opcao)
    {
        List<Consorcio> consorcios = new ArrayList<Consorcio>();
        try
        {
            consorcios = dao.findForPlano(objetoDePesquisa, opcao);
        }catch (Exception e)
        {
            e.getStackTrace();
        }
        return consorcios;
    }

    public List<ResultadoGraficoAbstrato> gerarGrafico (String opcaoDeGrafico)
    {
        return dao.encontrarMelhoresLocaisDeVenda(opcaoDeGrafico);
    }

}
